package com.ruoyi.system.service.aggregation;

import java.util.List;
import com.ruoyi.system.domain.aggregation.AggQrcode;

/**
 * 二维码Service接口
 * 
 * @author ruoyi
 * @date 2025-01-01
 */
public interface IQrCodeService 
{
    /**
     * 生成商家聚合二维码
     * 
     * @param merchantId 商家ID
     * @return 二维码文件路径
     */
    String generateMerchantQrCode(Long merchantId) throws Exception;

    /**
     * 生成App下载二维码
     * 
     * @return 二维码文件路径
     */
    String generateDownloadQrCode() throws Exception;

    /**
     * 查询聚合码分页列表
     * 
     * @param aggQrcode 查询条件
     * @return 聚合码列表
     */
    List<AggQrcode> selectAggQrcodeList(AggQrcode aggQrcode);

    /**
     * 查询聚合码详情
     * 
     * @param id 聚合码ID
     * @return 聚合码
     */
    AggQrcode selectAggQrcodeById(Long id);

    /**
     * 根据商家ID查询聚合码
     * 
     * @param merchantId 商家ID
     * @return 聚合码
     */
    AggQrcode selectAggQrcodeByMerchantId(Long merchantId);

    /**
     * 记录扫码
     * 
     * @param merchantId 商家ID
     */
    void recordScan(Long merchantId);
}

